/**
 * @User: vitobo
 * @Date: 2024-05-15
 * @Description:  类和对象学习
 */
// 类名采用大驼峰
// 方法名/变量 小驼峰

// 通过类去描述一个具体的对象
class Person{
    // 属性
    public int age;
    public String name;

    // 行为
    public void eat(){}
    public void setTime(){}
}

class Dog{
    public String name;
    public String color;

    public void eat(){
        System.out.println(name + "正在吃饭 ");
    }
    public void barks(){
        System.out.println(" 汪汪");
    }
    public void wag(){}
}

class WashMachine{
    // 属性(成员变量) / 字段 定义在方法的外部, 类的内部
    public String brand;
    public String type;
    public double weight;
    public double length;
    public double width;
    public double height;
    public String color;

    // 行为(成员方法)
    public void washClothes(){
        int count = 0; // 局部变量
        System.out.println(" 洗衣服 ");
    }

    public void wag(){
        System.out.println(" 摇尾巴 ");
    }
}

public class object {

    // Java当中, 一切皆对象
    // 面向对象:  若干对象之间协作完成某件事
    // 面向过程:  解决问题的具体步骤
    // 类 是一个模板一样的东西, 是一种自定义类型, 可以用来定义变量, 一个类可以实例化出多个对象

    public static void main(String[] args) {
        Dog dog1 = new Dog();
        dog1.name = "laifu";
        System.out.println(dog1.name);
        // 当成员变量没有初始化的时候, 默认值就是对应的初始值.
        System.out.println(dog1.color);
    }

    public static void main1(String[] args) {
        // 实例化对象, 通过一个类,可以通过new关键字实例化多个对象
        Dog dog = new Dog();
        dog.name = "旺财";
        dog.color = "yellow";

        System.out.println(dog.name);
        System.out.println(dog.color);

        dog.barks();
        dog.wag();
    }

}
